package com.study.spark.scala.chapter07

object Scala01_Collection_1{
  def main(args: Array[String]): Unit = {
    // TODO 不可变集合 - 数组 - 基本操作
    // 使用集合的伴生对象来构建集合，并同时初始化
    // 这种方式是最基本常用的创建集合，不用new
    val array = Array(1,2,3,4)

    // 访问
    // +:往集合前边加     :+往集合后边加
//    val ints: Array[Int] = array.+:(5)
//    val ints1: Array[Int] = array.:+(5)
    // scala中如果运算符以冒号结尾，那么运算规则就是从后往前边运算
    val ints = 5 +: array
    val ints1 = array :+ 5

    println(array eq ints)//false
    println(array eq ints1)//false
    println(ints1 eq ints)//false

    val ints2 = array ++ ints

    // 遍历
    for(i <- array){
      println(i)
    }
    println("=========")
    for(i <- ints){
      println(i)
    }
    println("=========")
    for(i <- ints1){
      println(i)
    }
    println("=========")
    println(ints.mkString(","))//5,1,2,3,4
    println(ints1.mkString(","))//1,2,3,4,5
    println(ints2.mkString(","))//1,2,3,4,5,1,2,3,4

    // TODO 循环函数遍历
    array.foreach(println(_))//采用函数式编程的匿名函数至简原则
    /*
1
2
3
4
     */
  }
}
